class Login{
    returnUrl = '';
    constructor(){
        // 设置登录成功后的回跳地址
        let param = location.search;
        if(param){
            param = param.split('=')[1];
            // console.log(param);
            this.returnUrl = param;
        }
        this.$('.logined a').addEventListener('click', this.checkLogin.bind(this));
    }

    /******检验登录数据*****/
    checkLogin(){
        // console.log(11111);
        // 获取表单节点
        let form = document.forms.login.elements;
        // console.log(form);
        let username = form.user.value.trim();
        let password = form.password.value.trim();
        // console.log(username,password);

        // 发送ajax请求，实现登录
        let param = `username=${username}&password=${password}`;

        // 配置参数的格式
        axios.defaults.headers['Content-Type'] = 'application/x-www-form-urlencoded';

        // 发送请求
        axios.post('http://localhost:8888/users/login',param).then(({data,status}) => {
            console.log(data, status);
            // 判断浏览器的状态和接口的状态
            if(status !== 200 || data.code != 1){
                layer.msg('登陆失败');
            }

            // 如果登陆成功，则需要保存token值，因为只有登陆成功的时候才会有token值，可以用来判断是否登录
            localStorage.setItem('token', data.token);

            // 登陆成功时要保存用户id
            localStorage.setItem('use_id',data.user.id);

            // 登陆成功时，如果this.returnUrl有值，则跳转到该地址，没有值的话则跳转到list.html页面
            this.returnUrl ? location.assign(this.returnUrl) : location.assign('home.html');
        })

    }
    
    // 获取节点
    $(ele){
        let res = document.querySelectorAll(ele);
        return res.length == 1 ? res[0] : res;
    }
}
new Login;
